package com.nanmeishu.services.tale.facade;

import com.nanmeishu.services.tale.entity.Tale;
import com.nanmeishu.services.tale.entity.TaleDetails;

import java.util.List;
import java.util.Map;

public interface TaleService {
    /**
     * 新增故事及其详情
     *
     * @param tale
     */
    void saveTaleAndDetails(Tale tale, String userId);

    /**
     * 获取用户故事列表
     *
     * @param userId
     * @return
     */
    Map<String, Object> listByUserId(String userId, String pageNum, String pageSize);

    /**
     * 更新故事及其明细
     *
     * @param tale
     */
    void updateTaleAndDetails(Tale tale);

    /**
     * 统计用户故事数量
     * @param userId
     * @return
     */
    Integer countTaleByUserId(String userId);

    /**
     * 删除指定日记
     * @param userId
     * @param taleId
     */
    void deleteTale(String userId, String taleId);

    /**
     * 通过taleid获取详细信息
     * @param taleId
     * @return
     */
    Tale getTale(String taleId);

    /**
     * 获取彩虹屁文字
     * @return
     */
    String caiHongPiText();

    /**
     * 标记地图
     * @param tale
     * @param userId
     */
    void signTaleDitu(Tale tale, String userId);

    /**
     * 获取记录的城市信息
     * @param userId
     * @return
     */
    List<String> listCityName(String userId);

    /**
     * 市级地图故事集合
     * @param userId
     * @param dituName
     * @return
     */
    List<Tale> listTaleByDitu(String userId, String dituName);

    /**
     * 新增/修改故事明细
     * @param taleDetails
     */
    void saveTaleDetails(TaleDetails taleDetails);
}
